# 获取所有.c文件的列表
SRC := $(wildcard *.c)
CFLAGS := -g -Wall -Werror

# 定义目标可执行文件，替换.c后缀为.out
TARGETS := $(patsubst %.c, %.out, $(SRC))

# 通用的编译规则
%.out: %.c
	gcc -o $@ $< $(CFLAGS)

# 定义默认目标，编译所有目标可执行文件
all: $(TARGETS)

# 清理规则，删除所有生成的可执行文件
clean:
	@rm -f $(TARGETS)

# 执行这个目标会将所有修改的文件一起提交
commit: clean
	@git add .
	@git commit -m "$(M)"
